package com.itheima.operator;

/**
 * 有疑问：
 *     int max3 = (i>j) ? (i>k ? i:k):(j>k ? j:k);
 *         System.out.printf("max3=", max3);
 *         为什么得出来的结果是true？  因为这个true是后面那条语句的运行结果
 System.out.printf("max3==", max3);  这个输出语句并没有输出max3的值

 System.out.print:
 * 功能：将指定的内容输出到控制台，但不换行。
 * 示例：System.out.print("Hello, World!");
 * 这行代码将在控制台上打印“Hello, World!”，并且光标会停在该行末尾，不会跳到下一行。

 System.out.println:
 * 功能：将指定的内容输出到控制台，并在内容后面添加一个换行符，使得后续输出从新的一行开始。
 * 示例：System.out.println("Hello, World!");
 * 这行代码将在控制台上打印“Hello, World!”，然后光标会跳到下一行。

 System.out.printf:
 * 功能：使用格式化字符串将指定的内容按照指定的格式输出到控制台。它类似于C语言中的printf函数，允许用户控制输出的格式，如对齐、宽度、精度等。
 * 示例：System.out.printf("Hello, %s! You have %d new messages.%n", "Alice", 5);
 * 这行代码将在控制台上打印“Hello, Alice! You have 5 new messages.”，并且光标会跳到下一行（因为使用了%n，它在printf中代表平台相关的行分隔符）。
 *
 */
public class OperatorDemo6 {
    public static void main(String[] args) {
        // 目标：掌握三元运算符的基本使用。
        double score = 58.5;
        String rs = score >= 60 ? "成绩及格" : "成绩不及格";
        System.out.println(rs);

        // 需求2：找出2个整数中的较大值，并输出。
        int a = 99;
        int b = 69;
        int max = a > b ? a : b;
        System.out.println(max);

        // 需求3：找3个整数中的较大值。
        int i = 10;
        int j = 45;
        int k = 34;

        // 找出2个整数中的较大值。
        int temp = i > j ? i : j;
        // 找出temp与k中的较大值。
        int max2 = temp > k ? temp : k;
        System.out.println(max2);
        //int max = (a > b) ? (a > c ? a : c) : (b > c ? b : c);

        int max3 = (i>j ? (i>k ? i:k):(j>k ? j:k));
        System.out.println("max3="+ max3);
        System.out.println("最大数是：" + (i > j ? (i > k ? i : k) : (j > k ? j : k)));
        System.out.printf("max3==", max3);

        System.out.println("\n");
        System.out.println("----");
        System.out.println(10 > 3 || 10 > 3 && 10 < 3); // true，因为&&的优先级比||的优先级更高
        System.out.println((10 > 3 || 10 > 3) && 10 < 3); // false

        System.out.println("\n");
        System.out.println("----");

        System.out.printf("Hello, %s! You have %d new messages.%n", "Alice", 5);
        int m=10;
        double n=1311.12;
        System.out.printf("%.2f",m+n);

    }
}
